home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #5 & #6
/
Amiga Plus CD - 1995 - No. 5 and 6.iso
/
pd
/
netz
/
verteiler
/
zpoint
/
start_verteiler.zprx
< prev
Wrap
Text File
|
1995-07-10
|
11KB
|
302 lines
/*
$VER: Start_Verteiler.zprx V1.00 (18-May-95) Copyright (c) Nils Görs
Verteiler Copyright (c) 1995 by Thomas Eicher
[Diese Version benoetigt ZPoint beta 37.191 oder spaeter.
This version requires ZPoint beta 37.191 or later. --Tom]
FUNKTIONSBESCHREIBUNG:
Dieses Skript wurde speziell für das Programm VerteilerVerwaltung,
kurz VV, zwecks Anbindung an Zodiac's Point entwickelt. Dieses
Skript dient lediglich der Auswertung- und Versendung von
Nachrichten an mehrere Empfänger, die mittels `VV' ausgewählt
wurden.
BENUTZUNG:
Schreiben und versenden Sie Ihre Nachrichten wie bisher. Tragen
Sie aber anstelle aller Empfänger, an die Sie diese Nachricht
senden möchten, lediglich einen ein. Hierbei hat es sich bewährt,
die eigenen Adresse oder J.Random@meine.Domain einzusetzen. Dies
hat den Zweck, falls Sie vergessen sollten die Adresse zu ändern,
damit die Nachricht nicht ungewollt in der ganzen Welt auf
wanderschaft geht.
Begeben Sie sich dann in das Spool-Brett, wählen dort die
entsprechende Nachricht aus und starten Sie dieses ARexx-Skript.
Es wird dann das Programm `VV' gestartet, wo Sie ganz bequem Ihre
Verteilerlisten erstellen, editieren, löschen und zum versenden
von Nachrichten bereitstellen können.
Start_Verteiler.zprx wertet dann zum einen die Orignalnachricht
aus, zum anderen generiert das Skript eine neue Nachricht. Diese
neue Nachricht weist natürlich die selben Attribute vor wie die
Originalnachricht. Zusätzlich werden dann zu der Nachricht, die
verschiedenen Empfänger beigefügt.
INSTALLATION:
Kopieren Sie bitte das Hauptprogramm, 'VV' in das
Tools-Verzeichnis von Zodiac's Point. Dieses ARexx-Skript gehört
in das Rexx-Verzeichnis von Zodiac's Point.
Um das Programm nun über eine Funktionstaste starten zu können
müssen Sie folgenden Eintrag in die Datei `fkeys.zp' hinzufügen.
F1:SYS:Rexxc/RX ZPOINT:Rexx/Start_Verteiler.zprx %s
Alternativ hierzu haben Sie aber auch die Möglichkeit das Programm
aus dem Pulldown-Menu aufzurufen. Dazu müssen Sie lediglich einen
neuen Eintrag in die Datei `usermenus.zp' machen:
*Nachrichtenverteiler
Sys:Rexxc/RX ZPoint:Rexx/Start_Verteiler.zprx %s
Sie erreichen die Autoren wie folgt:
t.eicher@hsp.zer.de
N.Goers@Art-Line.Art-Line.de
Das Programm Verteiler, welches mit diesem Skript gestartet wird,
benötigt die "triton.library" >=V1.2
Triton is (C) by Stefan Zeiger <s.zeiger@laren.rhein-main.de> */
/*----------------------------------------------------------------
-Ab hier können Sie das Skript nach Ihren Bedürfnissen anpassen-
----------------------------------------------------------------*/
/* wo befindet sich das Hauptprogramm ?? */
Verteiler.main = "zpoint:tools/verteiler"
/*----------------------------------------------------------------*/
/* wo befindet sich die Database
(default: progdir:verteiler.database) */
DataBase = "progdir:verteiler.database"
/*----------------------------------------------------------------*/
/* wo ist die Datei mit den Empfängern (Verteilerliste)? */
RCVFILE.main = "t:RCVFILE"
/*----------------------------------------------------------------*/
/* zum Auslagern evtl. Daten (Binär- und oder Textnachrichten) */
Datei.Tmp = "t:Out.tmp"
/*----------------------------------------------------------------*/
/* Erlaubte Optionen:
PERSONAL unterbindet, daß im Kopf der Nachricht vermerkt wird, wer
alles Kopien dieser Nachricht erhalten hat.
ARCHIVE Nachricht versenden und im Nachrichtenarchiv speichern.
COOKIE Cookie anhängen (nur bei Textnachrichten).
Beispiele:
wopts = 'PERSONAL '
~Bitte beachten Sie dieses Freizeichen!
wopts = 'COOKIE ARCHIVE '
*/
wopts = ''
/*----------------------------------------------------------------*/
/* Originalnachricht wird gelöschen ??
1 = mit Sicherheitsabfrage
0 = ohne Sicherheitsabfrage */
DelImmer = 0
/*----------------------------------------------------------------*/
/* In welcher Sprache möchten Sie arbeiten ??
Möglichkeiten: deutsch
english */
Sprache = "deutsch"
/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* Bitte geben Sie hier ihre Präferenzen ein ! *
*******************************************************************/
/*******************************************************************
* Bitte unterhalb dieser Zeile nichts mehr verändern! *
*******************************************************************/
NL = '0a'x
None = "-NONE-"
Bezug = "BEZ"
Crypto = "CRYPT"
Diskussion = "Diskussion-in"
Empfangsbest = "EB"
PGPSignatur = "PGP-SIG"
Anf = '"'
Space = ' '
/* Hier sind die Texte in den unterschiedlichen Sprachen. Falls
Sie diese Texte in eine andere Sprache übersetzen sollten, dann
senden Sie mir die übersetzten Texte doch bitte zu. */
deutsch.text0 = '"Verteiler läuft!"'
english.text0 = '"Verteiler is running!"'
deutsch.text1 = "Bitte begeben Sie sich"NL,
"in das Spool-Brett!"
english.text1 = "Please go into the Spool-Area"
deutsch.text2 = "Empfangsbestätigungen und Kontrollnachrichten"NL,
"können nicht bearbeitet werden!"
english.text2 = "receive receptions and controlmessages"NL,
"can not be handled!"
deutsch.text3 = "Fehler beim Start von Verteiler!"
english.text3 = "error while opening 'Verteiler!'"
deutsch.text4 = "Sie haben abgebrochen. Die Nachricht wird"NL,
"weiterhin nur an den Originalempfänger gesendet."
english.text4 = "You have canceled. The message will"NL,
"be send to the main receiver, only."
deutsch.text5 = "Fehler beim Speichern!"
english.text5 = "error while saving!"
deutsch.text6 = "Kann Nachricht nicht verschicken!"
english.text6 = "Couln't send message!"
deutsch.text7 = "Nachricht wurde verschickt."
english.text7 = "Message is on the way, now."
deutsch.text8 = "Soll die Ursprungsnachricht gelöscht werden?"
english.text8 = "Shall I delete the original message?"
deutsch.text9 = "kodierte Nachrichten können z.Zt. nicht"NL,
"bearbeitet werden!"
english.text9 = "At the moment it's not possible to handle"NL,
"crypted messages!"
deutsch.text10 = "Bitte die erneute QPC-Passwortabfrage"NL,
"abbrechen, bzw. nur RETURN drücken!"
english.text10 = "Please cancel the upcoming QPC-passwortrequester",
"or simply press return, ONLY!"
OPTIONS RESULTS
/* ------ von welchem ZP Port wurde das Script aufgerufen ? ------ */
PARSE ARG zpPort
IF zpPort == "" THEN
zpPort = "ZPoint"
ADDRESS VALUE zpPort
/* ------------- Dieses Skript läuft erst ab V37.191 ------------- */
WHICHVERSION
IF RESULT < "37.191" THEN DO
REQUESTNOTIFY "Dieses Skript benötigt mind. die Zodiac's Point 37.191 (15.5.95)"
EXIT
END
/* --- Dieses Skript darf nur im Spool-Brett ausgeführt werden --- */
WHICHLEVEL
IF Result ~= "BOARD" then
DO
Text1 = VALUE(sprache||.text1); REQUESTNOTIFY Text1; EXIT
END
BOARDINFO LABEL; BOARDLABEL=Result
IF INDEX(Boardlabel,'(Spool') == 0 THEN
DO
Text1 = VALUE(sprache||.text1); REQUESTNOTIFY Text1; EXIT
END
/******************************
* hier ist das Hauptprogramm *
******************************/
_Main:
MESSAGEINFO STATUS
IF RESULT == "CTL,EB" THEN DO /* Kontrollnachricht! */
Text1 = VALUE(sprache||.text2); REQUESTNOTIFY Text1; EXIT
END
/* Ist die Nachricht kodiert worden (QPC bzw. PGP) ? */
FINDHEADER Crypto
IF RESULT ~= None THEN DO
IF RESULT == "QPC" THEN DO
Text1 = VALUE(sprache||.text10); REQUESTNOTIFY Text1
CALL _SendMails
END
Text1 = VALUE(sprache||.text9); REQUESTNOTIFY Text1; EXIT
END
_SendMails:
text1 = VALUE(sprache||.text0)
"guilock text="text1
IF ~EXISTS(RCVFile.main||zpPort) THEN ADDRESS COMMAND 'delete' Datei.tmp||zpPort '>NIL:'
ADDRESS COMMAND Verteiler.main 'DB='Database,
'INTO='RCVFILE.main||zpPort,
'PB='zpPort
IF (RC) ~= 0 THEN DO /* Fehler beim öffnen von Verteiler */
Text1 = VALUE(sprache||.text3); REQUESTNOTIFY Text1; EXIT
END; ELSE
IF ~EXISTS(RCVFile.main||zpPort) THEN DO
Text1 = VALUE(sprache||.text4); REQUESTNOTIFY Text1
EXIT; END
MESSAGEINFO POSITION /* an der wievielten Position befindet sich die
MailPosition=RESULT Originalnachricht ? */
/* Es wird nach Empfänger, Betreff, Diskussion in, PGP-Signatur und
Empfangsbestätigung gesucht. Es wird lediglich bis zum Textkörper
durchsucht */
MESSAGEINFO RECEIVER
ReceiverName=RESULT
MESSAGEINFO FULLSUBJECT
SubjectName=RESULT
FINDHEADER Diskussion
IF RESULT ~= None THEN
wopts = wopts||Space||'FOLLOWUP '||Anf||RESULT||Anf
FINDHEADER Empfangsbest
IF RESULT ~= None THEN
wopts = wopts||Space||'CONFIRM'
FINDHEADER PGPSIGNATUR
IF RESULT ~= None THEN
wopts = wopts||Space||'PGPSIG'
FINDHEADER ALL Bezug
IF RESULT ~= None THEN
wopts = wopts||Space||'REFERENCES '||Anf||RESULT||Anf
MESSAGEINFO TYPE
IF RESULT == "BINARY" THEN wopts = wopts||space||'BINARY'
SAVEMESSAGEBODY Datei.tmp||zpPort
IF (RC) == 0 THEN
DO
Text1 = VALUE(sprache||.text5); REQUESTNOTIFY Text1
CALL _DeleteTemps
END
WRITEMESSAGE Datei.tmp||zpPort,
'RECEIVER' ReceiverName,
'SUBJECT' Anf||SubjectName||Anf,
'RCVFILE' RCVFILE.main||zpPort,
wopts
id = RESULT /* Hat das versenden geklappt ? */
IF (id = '') THEN DO /* Hups! Fehler! */
Text1 = VALUE(sprache||.text6); REQUESTNOTIFY Text1
CALL _DeleteTemps
END
ELSE /* Alles klar! */
Text1 = VALUE(sprache||.text7); REQUESTNOTIFY Text1
IF DelImmer ~= 0 THEN /* Soll nachgefragt werden? */
DO /* Soll die Nachricht gelöscht werden ? */
Text1 = VALUE(sprache||.text8); REQUESTRESPONSE Text1
END
IF RC = 1 THEN /* Wenn 1, dann Nachricht löschen! */
DO
JUMPTOMESSAGE MailPosition; DELETE ONE; DOWN
CALL _DeleteTemps
END
_DeleteTemps:
ADDRESS COMMAND 'delete' RCVFILE.main||zpPort '>NIL:'
ADDRESS COMMAND 'delete' Datei.tmp||zpPort '>NIL:'
guilock off /* Die GUI wieder freigeben! */
EXIT
/* EOS */
Mfg,
Nils
--
Once bitten, twice shy.